O objetivo deste post é analisar as correlações presentes nos dados do Twitter dos congressistas.
Nesta seção buscaremos identificar se existe relação entre a quantidade de tweets autoriais e a quantidade de retweets feitos pelos congressistas. Inicialmente, vejamos como é a dispersão desses dados:
r1 <- atividade_real %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + geom_abline(slope = 1) + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: Há relação?")
ggplotly(r1)
De imediato, é difícil dizer se existe um formato específico: além da linha que segue descendo de Paulão à Margarida Salomão, não é muito que se consegue observar a partir dos dados, já que os pontos estão muito aglomerados próximos à orgiem. Vamos tentar melhorar essa visualização removendo o congressista que é um outlier: Bacelar.
r2 <- atividade_real %>%
filter(nome_eleitoral != "BACELAR") %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + geom_abline(slope = 1) + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: Sem Bacelar")
ggplotly(r2)
Ainda assim, o formato dos dados não é tão bem definido: embora pareça vagamente que o número de retweets cresce quando o número de tweets cresce, não é tão claro assim. Vamos tentar mudar a escala nos eixos e verificar se isso realmente acontece:
r31 <- atividade_real %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: X em Log") + scale_x_log10()
r32 <- atividade_real %>%
filter(nome_eleitoral != "BACELAR") %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: X em Log, SB") + scale_x_log10()
grid.arrange(r31, r32, ncol = 2)
Quando colocamos X em escala logarítmica temos um formato mais claro, que demonstra realmente que o número de retweets cresce, se maior o número de tweets, num formato quase esponencial.
r41 <- atividade_real %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: Y em Log") + scale_y_log10()
r42 <- atividade_real %>%
filter(nome_eleitoral != "BACELAR") %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: Y em Log, SB") + scale_y_log10()
grid.arrange(r41, r42, ncol=2)
Agora que y está em escala logarítmica, o formato parece ser logarítmico: o número de retweets parece estagnar, de acordo com o número de tweets. Para uma última visualização, vejamos:
r51 <- atividade_real %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: XY em Log") +
scale_x_log10() + scale_y_log10() + geom_abline(slope = 1, intercept = -.7)
r52 <- atividade_real %>%
filter(nome_eleitoral != "BACELAR") %>%
ggplot(mapping = aes(x=n_proprio, y=n_retweet, label=nome_eleitoral)) +
geom_point() + xlab("Número de Tweets Autorais") +
ylab("Número de Retweets") + ggtitle("Tweets x Retweets: XY em Log, SB") +
scale_x_log10() + scale_y_log10() + geom_abline(slope = 1, intercept = -.7)
grid.arrange(r51, r52, ncol=2)
Agora que X e Y estão em escala logarítimica, podemos realmente ver que existe uma correlação entre esses dados. Por fim, vamos confirmar analisando as correlações de Pearson, Spearman e Kendall:
atividade_real %>%
summarise(
pearson = cor(n_proprio, n_retweet, method = "pearson"),
spearman = cor(n_proprio, n_retweet, method = "spearman"),
kendall = cor(n_proprio, n_retweet, method = "kendall")
)
Entretanto, assim como nas visualizações anteriores, é preciso analisar as correlações removendo o outlier (BACELAR) do nosso conjunto:
atividade_real %>%
filter(nome_eleitoral != "BACELAR") %>%
summarise(
pearson = cor(n_proprio, n_retweet, method = "pearson"),
spearman = cor(n_proprio, n_retweet, method = "spearman"),
kendall = cor(n_proprio, n_retweet, method = "kendall")
)
Embora muitas vezes o formato pareça ser mais claro sem a presença de Bacelar, quando ele não está no conjunto, nossa correlação diminui. Ainda assim, em ambos os casos, existe correlação entre as variáveis.